import {
  GenerateRequest,
  GenerateResponse,
  GenerateResultVO,
  GetGenerateTaskDetailRequest,
} from '@/types/ai';
import { post } from '@/utils/request';

export interface ImageFilterVO {
  uid: number;
  template_id: number;
  type: number;
  name: string;
  desc: string;
  img: string;
  gen_type: number;
}

export enum QShopType {
  EDIT = 3, // 图片编辑
  PHOTO = 5, // 生成相框图
}

/**
 * 快闪店相关API
 */
export class QShopAPI {
  /**
   * 获取滤镜列表分类列表
   * @param params 请求参数
   * @returns Promise<ApiResponse<ImageFilterVO[]>>
   */
  static async getFilterCategorys(params: any) {
    return post<ImageFilterVO[]>('/ops/ai_filters', params);
  }

  /**
   * 触发AI生成任务
   * @param params 请求参数
   * @returns Promise<ApiResponse<GenerateResponse>>
   */
  static async generate(params: GenerateRequest) {
    return post<GenerateResponse>('/ops/generate', params);
  }

  /**
   * 查询AI生成任务结果
   * @param params 请求参数，包含task_id
   * @returns Promise<ApiResponse<GenerateTaskDetailResponse>>
   */
  static async generateTaskDetail(params: GetGenerateTaskDetailRequest) {
    return post<GenerateResultVO>('/ops/task_detail', params);
  }
}
